// pages/user/settings.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    version: '1.0.0',
    cacheSize: '0.00MB',
    notifySettings: {
      courseUpdate: true,
      promotion: true,
      system: true
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 获取本地存储的通知设置
    const notifySettings = wx.getStorageSync('notifySettings');
    if (notifySettings) {
      this.setData({
        notifySettings
      });
    }
    
    // 计算缓存大小
    this.calculateCacheSize();
  },

  /**
   * 计算缓存大小
   */
  calculateCacheSize() {
    // 模拟计算缓存大小，实际开发中应该调用相关API
    const randomSize = (Math.random() * 10).toFixed(2);
    this.setData({
      cacheSize: `${randomSize}MB`
    });
  },

  /**
   * 清除缓存
   */
  clearCache() {
    wx.showLoading({
      title: '清除中...',
    });
    
    // 模拟清除缓存过程
    setTimeout(() => {
      wx.hideLoading();
      this.setData({
        cacheSize: '0.00MB'
      });
      wx.showToast({
        title: '缓存已清除',
        icon: 'success'
      });
    }, 1000);
  },

  /**
   * 检查更新
   */
  checkUpdate() {
    wx.showLoading({
      title: '检查中...',
    });
    
    // 模拟检查更新过程
    setTimeout(() => {
      wx.hideLoading();
      wx.showModal({
        title: '检查更新',
        content: '当前已是最新版本',
        showCancel: false
      });
    }, 1000);
  },

  /**
   * 切换开关状态
   */
  switchChange(e) {
    const type = e.currentTarget.dataset.type;
    const value = e.detail.value;
    
    // 更新数据
    const notifySettings = this.data.notifySettings;
    notifySettings[type] = value;
    
    this.setData({
      notifySettings
    });
    
    // 保存到本地存储
    wx.setStorageSync('notifySettings', notifySettings);
    
    // 提示用户
    wx.showToast({
      title: value ? '已开启' : '已关闭',
      icon: 'success'
    });
  },

  /**
   * 页面跳转
   */
  navigateTo(e) {
    const url = e.currentTarget.dataset.url;
    wx.navigateTo({
      url
    });
  }
})